//封装有关food对象的函数
(function(window) {
    // 定义一个全局变量
    let site = "absolute";
    //封装Food的构造函数
    function Food(option) {
        // 确保传进来的数据是对象
        option = option instanceof Object ? option : {};
        Object.assign(this, option);
        //定义一个数组,存储push进去的对象属性
        this.element = [];
    };
    //Food渲染页面到页面的方法
    Food.prototype.render = function(map) {
        //创建一个新的元素
        const ele = document.createElement('div');
        //确定Food的left、top位置
        this.x = Tools.getRandom(0, map.clientWidth / this.width - 1) * this.width;
        this.y = Tools.getRandom(0, map.clientHeight / this.height - 1) * this.height;
        //添加对应的样式
        ele.style.position = site;
        ele.style.left = this.x + 'px';
        ele.style.top = this.y + 'px';
        ele.style.height = this.height + 'px';
        ele.style.width = this.width + 'px';
        ele.style.backgroundColor = this.backgroundColor;
        ele.style.borderRadius = `50%`;
        // 让新元素添加到map中
        map.appendChild(ele);
        // 将新元素添加的数组,利用后期调用和删除
        this.element.push(ele);
    };
    //Food移除页面
    Food.prototype.remove = function(map, i) {
        //在map上移除该元素
        map.removeChild(this.element[i]);
        //将元素 从数组中删除
        this.element.splice(i, 1);
    };
    window.Food = Food;
})(window);